package com.ldp.designpatterns.study.builder.abstractBuilder;

import com.ldp.designpatterns.study.builder.product.House;

/**
 * @ClassName HouseBuilder
 * @Description TODO: 建造者模式——2、抽象建造者（Abstract Builder）：定义了构建产品的步骤和方法，但没有具体的实现。不同的具体建造者可以实现不同的构建步骤，从而创建不同的产品变体。
 * TODO: 它将对象的构建过程封装在一个独立的"建造者"类中，由该类负责逐步构建对象
 * @Author lindipei
 * @Date 2023/10/17 15:17
 */
public abstract class HouseBuilder {
    protected House house = new House();

    //构建产品的步骤和方法
    public abstract void buildFoundation();
    public abstract void buildStructure();
    public abstract void buildRoof();
    public abstract void buildInterior();

    public House getHouse(){
        return house;
    }
}
